package cn.hy.机考.part03;

import java.util.Scanner;

/**
 * @author hy
 * 二十五、按索引范围翻转文章片段
 * 输入一个英文文章片段，翻转指定区间的单词顺序，标点符号和普通字母一样处理
 * 例如输入字符串 "I am a developer." 区间[0,3]则输出 "developer. a am I"
 * 第一个参数为英文文章内容即英文字符串;
 * 第二个参数为反转起始单词下标，下标从 0 开始;
 * 第三个参数为结束单词下标，
 * 输出描述:反转后的英文文章片段，所有单词之间以一个半角空格分割进行输出
 * I am a developer.
 * 1
 * 2
 * 输出:I a am developer.
 *
 */
public class Demo25 {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            int left = sc.nextInt();
            int right = sc.nextInt();
            reverse(str, left, right);
        }
    }
    public static void reverse(String str, int left, int right) {
        String[] strs = str.split("\\s+");
        //三个条件判断字符串数组是否为空
        if (strs.length == 0 || left < 0 || left >= right) {
            System.out.println("EMPTY");
            return;
        }
        //判断right是否大于长度
        if (strs.length - 1 < right) right = strs.length - 1;
        //将一前一后倒置
        while (left < right) {
            String temp = strs[left];
            strs[left] = strs[right];
            strs[right] = temp;
            right--;
            left++;
        }
        //格式化输出
        for (int i = 0 ; i < strs.length ; i++) {
            System.out.print(strs[i]);
            if (i != (strs.length - 1)) {
                System.out.print(" ");
            }
        }
    }

}
